The present invention relates generally to position determination using satellite signals, and more particularly to relative position determination using carrier phase measurements of satellite signals.
Satellite positioning systems, such as GPS (USA) and GLONASS (Russia), are well known in the art and are intended for highly accurate self-positioning of users possessing special navigation receivers. A navigation receiver receives and processes radio signals transmitted by satellites located within line-of-sight distance of the receivers. The satellite signals comprise carrier signals that are modulated by pseudo-random binary codes. The receiver measures the time delay of the received signal relative to a local reference clock or oscillator. These measurements enable the receiver to determine the so-called pseudo-ranges between the receiver and the satellites. The pseudo-ranges are different from the ranges (distances) between the receiver and the satellites due to various noise sources and variations in the time scales of the satellites and receiver. If the number of satellites is large enough, then the measured pseudo-ranges can be processed to determine the user location and coordinate time scales. This type of system uses a single satellite receiver and is referred to herein as a stand alone system. These stand alone systems provider meter-level accuracy.
The requirement of accurately determining user location with a high degree of precision, and the desire to improve the stability and reliability of measurements, have led to the development of differential navigation (DN). In differential navigation, the task of finding the user position, also called the Rover, is performed relative to a Base station (Base). The precise coordinates of the Base station are known and the Base station is generally stationary during measurements. The Base station has a navigation receiver which receives and processes the signals of the satellites to generate measurements. These signal measurements are transmitted to the Rover via a communication channel (e.g., wireless). The Rover uses these measurements received from the Base, along with its own measurements taken with its own navigation receiver, in order to precisely determine its location. The location determination is improved in the differential navigation mode because the Rover is able to use the Base station measurements in order to compensate for the major part of the strongly correlated errors in the Rover measurements.
Various modes of operation are possible while using differential navigation. In post-processing (PP) mode, the Rover's coordinates are determined by co-processing the Base and Rover measurements after all measurements have been completed. This allows for highly accurate location determination because more data is available for the location determination. In real-time processing (RTP) mode, the Rover's coordinates are determined in real time upon receipt of the Base station information received via the communication channel.
The location determination accuracy of differential navigation may be further improved by supplementing the pseudo-range measurements with measurements of the phases of the satellite carrier signals. If the carrier phase of the signal received from a satellite in the Base receiver is measured and compared to the carrier phase of the same satellite measured in the Rover receiver, measurement accuracy may be obtained to within several percent of the carrier's wavelength. Real-time carrier signal based differential navigation is often referred to as real-time kinematic (RTK). The practical implementation of these advantages, which might otherwise be guaranteed by the measurement of the carrier phases, runs into the problem of ambiguity resolution for phase measurements.
The ambiguities are caused by two factors. First, the difference of distances from any satellite to the Base and Rover is usually much greater than the carrier's wavelength. Therefore, the difference in the phase delays of a carrier signal received by the Base and Rover receivers may substantially exceed one cycle. Second, it is not possible to measure the integer number of cycles from the incoming satellite signals; one can only measure the fractional part. Therefore, it is necessary to determine the integer number of cycles, which is called the “ambiguity”. More precisely, we need to determine the set of all such integer parts for all the satellites being tracked, one integer part for each satellite. One has to determine this set along with other unknown values, which include the Rover's coordinates and the variations in the time scales.
At a high level, the task of generating highly-accurate navigation measurements is formulated as follows: it is necessary to determine the state vector of a system, with the vector containing nΣ unknown components. Those include three Rover coordinates (usually along Cartesian axes X, Y, Z) in a given coordinate system (sometimes time derivatives of coordinates are added too); the variations of the time scales which is caused by the phase drift of the local main reference oscillator in the receiver; and n integer unknown values associated with the ambiguities of the phase measurements of the carrier frequencies. The value of n is determined by the number of different carrier signals being processed, and accordingly coincides with the number of satellite channels actively functioning in the receiver. At least one satellite channel is used for each satellite whose broadcast signals are being received and processed by the receiver. Some satellites broadcast more than one code-modulated carrier signal, such as a GPS satellite which broadcasts a carrier in the L1 frequency band and a carrier in the L2 frequency band. If the receiver processes the carrier signals in both of the L1 and L2 bands, a so-called dual-frequency receiver, the number of satellite channels (n) increases correspondingly. Dual-frequency receivers allow for ionosphere delay correction an make ambiguity resolution easier.
Two sets of navigation parameters are measured by the Base and Rover receivers, respectively, and are used to determine the unknown state vector. Each set of parameters includes the pseudo-range of each satellite to the receiver, and the full (complete) phase of each satellite carrier signal. Each pseudo-range is obtained by measuring the time delay of a code modulation signal of the corresponding satellite. The code modulation signal is tracked by a delay-lock loop (DLL) circuit in each satellite tracking channel. The full phase of a satellite's carrier signal is tracked by a phase-lock-loop (PLL) in the corresponding satellite tracking channel. An observation vector is generated as the collection of the measured navigation parameters for specific (definite) moments of time.
The relationship between the state vector and the observation vector is defined by a well-known system of navigation equations. Given an observation vector, the system of equations may be solved to find the state vector if the number of equations equals or exceeds the number of unknowns in the state vector. Conventional statistical methods are used to solve the system of equations: the least squares method, the method of dynamic Kalman filtering, and various modifications of these methods.
Practical implementations of these methods in digital form may vary widely. In implementing or developing such a method on a processor, one usually must find a compromise between the accuracy of the results and speed of obtaining results for a given amount of processor capability, while not exceeding a certain amount of loading on the processor.
One general scheme comprises the following steps. The measured values of the pseudo-ranges and full phases at specific (definite) moments of time, along with an indication of the satellites to which these measurements belong and the time moments of the measurements, are transmitted from the Base to the Rover. Corresponding values are measured in the Rover receiver. The processing includes the determination of the single differences of the pseudo-ranges and full phases between the Base and Rover measurements for each satellite. The strongly correlated errors are compensated (i.e., substantially cancelled) in the single differences. Then, the residuals of the single differences are calculated by subtraction of calculated values from the measured results. The processing of residuals allows one to linearize the initial system of navigation equations (sometimes several subsequent iterations are necessary), which makes possible the use of the well developed body of mathematics for solving systems of linear equations. The components of the state vector, with the n ambiguities included, are found as a result of the solution. But the calculated values of the ambiguities are not necessarily integer numbers. Because of this, they are called float ambiguities, or floating ambiguities, at this stage of the solution. To find true values of the integer ambiguities one uses the procedure of rounding off the float ambiguity vector to the nearest set of integers. This process is called the ambiguity resolution. Only after the ambiguity resolution has been done is it possible to determine the true values of residuals and then, by solving the system of equations again, to find the coordinate values for the baseline connecting the Base and Rover, and consequently to determine the exact coordinates of the Rover and the correction to its clock drift.
The above described general scheme of computations is well known in the art and is described in further detail, for example, in, Bradford W. Parkinson and James J. Spilker Jr., Global Positioning Theory and Applications, Volume 163 of Progress In Astronautics and Aeronautics, published by the American Institute of Aeronautics and Astronautics, Inc, Washington D.C., 1996.
In most cases the Rover receiver operates in a complicated environment in which various external influences cause measurement errors. For example, external signals may interfere with the satellite signals, and structures and terrain may result in multipath errors. We distinguish now between two types of errors, normal errors and abnormal errors. Normal errors are normally distributed white noise errors which may be compensated for during the location calculation. Abnormal errors are large systematic errors which may prevent the system from calculating an accurate location. Such abnormal errors are rarely a consequence of occasional spikes of intrinsic noise. More often, they are the result of severe exposure of the receiver. For example, strong reflected signals that interfere with the direct satellite signal would cause an abnormal error. Similarly, extreme radio interference may also result in abnormal errors. Partial or complete shading of the Rover receiver may also result in errors due to radio wave diffraction. If the shading is partial and minor, the measurement error may be minimal. However, if a satellite is completely shaded (i.e., blocked), all that remains is the multipath signal. As a result, tracking in the channel is interrupted and the measured phase is lost resulting in an abnormal error. Dynamic effects on the receiver (i.e., certain motion of the Rover) may also cause abnormal errors. Impulse accelerations impact both the receiving antenna and the quartz of the local reference oscillator resulting in drift of the intermediate carrier frequency and measured phase.
One specific type of abnormal error is a PLL cycle slip which is a cycle slip in the PLL circuits which are tracking the satellite carrier signal. After a cycle slip occurs, the PLL circuit transits to a new point of steady balance, after which it goes on with tracking the satellite carrier signal. As a result of a cycle slip, an abnormal error equal to several integer number of semi-cycles (half-cycles) is introduced into the full phase measurements. A cycle slip is characterized by two parameters, value and duration. The slip's value (in cycles) is determined by either 0.5K or K dependent on the PLL discriminator's type, where K is a random integer number. The duration of the cycle slip is also random. Minimal duration is defined by the PLL band while maximal duration depends upon the cause bringing about the cycle slip and can last up to several seconds. When the duration is long enough, tracking is lost.
There are various known techniques for detecting and correcting for cycle slip. For example, U.S. Pat. No. 5,502,641 discloses a method of detecting and correcting cycle slips caused by short-term blocking of satellite signals using phase extrapolation. In addition, S. Bisnath, D. Kim, and R. B. Langley, A new Approach to an Old Problem: Carrier-Phase Cycle Slips, GPS World, Vol. 12, No. 5 (2001), pp. 46-51, discloses a technique of post-processing the recorded code and phase measurements at two frequencies (the L1 and L2 bands) and detecting cycle slips based on the spikes of time derivatives in the corresponding combinations of the recorded measurements.
Normal errors are caused by intrinsic receiver noise and comparatively weak signals reflected from local objects. In addition, normal errors may result from additional delays in radio waves propagating through the atmosphere, inaccurate knowledge of satellite trajectory, and drift of a satellite's onboard clock.
Much of the advancements in satellite positioning has been directed to suppressing various types of errors. Differential navigation, for example, mitigates errors caused by the atmosphere, inaccurate knowledge of satellite trajectory, and the drift of a satellite's onboard clock. Other techniques have been developed to reduce the influence of abnormal errors. These techniques detect and eliminate incorrect and inaccurate measurements (for example when the parameters of received signals are deteriorated by heavy interference).
When considering the use of the above technologies, there is a trade-off between accuracy and cost. The most accurate technique is RTK, which can generally provide centimeter-level accuracy. However, this mode of operation requires a Rover and Base station both having a dual-frequency receiver, a radio for communicating corrections from the Base to the Rover via a communication link, and an algorithm for solving the ambiguities of the carrier phase measurements. Thus, while providing accurate positioning results, this mode of operation is also the most expensive, in terms of equipment cost, processing power, and complexity.
Alternatively, the least accurate technique is the stand alone system described above, which provides only meter-level accuracy. While less accurate, this type of system is also the least expensive and least complex, as it requires only a single satellite receiver and no base station.
Various techniques exist for improving the accuracy of satellite positioning systems. For example, U.S. Pat. No. 6,397,147 discloses a technique for determining the relative position between two points, in real-time, using a single GPS receiver that makes measurements of signals transmitted from GPS satellites. That patent discloses a technique where differential correction terms are computed as a location at an instant of time, and then applied to further times, so that the position of the GPS receiver is determined accurately relative to the position at the original instant of time. In the technique of '147 patent, a single receiver acts both as the reference base station, producing the original set of differential correction terms, and then as the rover receiver using that set of differential correction terms to accurately determine the location of the rover.
Another technique for improving the accuracy of satellite positioning systems is disclosed in R. Hatch, R. Sharpe, and Y. Yang, An Innovative Algorithm for Carrier-Phase Navigation, ION GNSS 17th International Technical Meeting of the Satellite Division, 21-24 Sep. 2004, Long Beach, Calif. This technique uses the change in the carrier-phase measurements to propagate the position and clock states forward in time with a minimum of computational burden. Specifically, rather than treat the change in the phase measurements as range difference measurements, they are treated as range error measurements. One stated limitation of this technique is that it can provide accurate positioning measurements over only relatively short time intervals (e.g., 10-30 seconds).